home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / dev / src / ggt.lha / ggT / schlangenpaket.ads < prev    next >
Encoding:
Text File  |  2002-02-13  |  1.3 KB  |  45 lines

  1. -- Schlangenpaket
  2. -- Autor: Norman Walter
  3. -- Datum: 2.2.2002
  4.  
  5. -- Das Paketschema schlangenpaket stellt dem Benutzer ein
  6. -- Warteschlangenkonzept für einen beliebigen Datentyp zur
  7. -- Verfügung. Aus einer Schlange werden die Elemente in der
  8. -- Reihenfolge ihrer Ankunft wieder ausgegeben (FIFO).
  9. -- länge gibt die Anzahl der Elemente in einer Schlange an.
  10. -- Der Versuch, einer leeren Schlang ein Element zu entnehmen,
  11. -- löst die Ausnahme schlange_ist_leer aus. Intern wird eine
  12. -- Schlange durch den geschützten Typ schlangen_infos
  13. -- repräsentiert. Es wird das Paket zeiger_verwaltung benutzt.
  14.  
  15. with zeiger_verwaltung;
  16.  
  17. generic
  18.    type element is private;
  19.  
  20. package schlangenpaket is
  21.    type schlangen_infos is private;
  22.    schlange_ist_leer : exception;
  23.  
  24.    procedure push (schlange : in out schlangen_infos; elem : in element);
  25.  
  26.    procedure pop (schlange : in out schlangen_infos; elem : out element);
  27.  
  28.    function länge (schlange : in schlangen_infos) return integer;
  29.  
  30.    function schlange_leer (schlange : in schlangen_infos) return boolean;
  31.  
  32.    private
  33.  
  34.       package listen_verwaltung is
  35.          new zeiger_verwaltung (komponente => element);
  36.       use listen_verwaltung;
  37.  
  38.       type schlangen_infos is
  39.          record
  40.             first,last : zeiger_typ := null;
  41.             länge      : integer := 0;
  42.          end record;
  43.  
  44. end schlangenpaket;
  45.